package com.ruoyi.business.service.wecom;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.business.domain.wecom.TbWecomCallbackMsgInfo;
import me.chanjar.weixin.cp.bean.message.WxCpXmlMessage;

public interface ITbWecomCallbackMsgInfoService extends IService<TbWecomCallbackMsgInfo> {

    // 创建群聊回调信息处理
    void groupCreatEventHandler(WxCpXmlMessage message);

    // 成员入群
    void groupMemberAddEventHandler(WxCpXmlMessage message);

    // 成员退群
    void groupMemberDelEventHandler(WxCpXmlMessage message);

    // 群主变更
    void groupChangeOwnerEventHandler(WxCpXmlMessage message);

    // 群名变更
    void groupChangeNameEventHandler(WxCpXmlMessage message);

    // 群公告变更
    void groupChangeNoticeEventHandler(WxCpXmlMessage message);

    // 群解散
    void groupDismissEventHandler(WxCpXmlMessage message);

    // 创建标签
    void tagCreatEventHandler(WxCpXmlMessage message);

    // 更新标签
    void tagUpdateEventHandler(WxCpXmlMessage message);

    // 删除标签与标签组
    void tagDeleteEventHandler(WxCpXmlMessage message);

    // 删除标签与标签组重排
    void tagShuffleEventHandler(WxCpXmlMessage message);

    // 客服 添加客户 事件
    void addExternalContactHandler(WxCpXmlMessage message);

    // 编辑客户事件
    void editExternalContactHandler(WxCpXmlMessage message);

    // 删除企业客户事件
    void delExternalContactHandler(WxCpXmlMessage message);

    // 删除跟进成员事件
    void delFollowUser(WxCpXmlMessage message);

    // 外部联系人添加了配置了客户联系功能且开启了免验证的成员时（此时成员尚未确认添加对方为好友），回调该事件
    void addHalfExternalContact(WxCpXmlMessage message);

    // 企业将客户分配给新的成员接替后，客户添加失败时回调该事件
    void transferFail(WxCpXmlMessage message);

}
